#ifndef RENDERVISITOR_H
#define RENDERVISITOR_H

#include "AbstractVisitor.h"
#include "EntityGroup.h"
#include "Entity.h"

class Camera;

class RenderVisitor : public AbstractVisitor
{
	Camera* m_Camera;
	int m_entitiesVisited;

public:
	RenderVisitor( Camera* c );

	void visit( AbstractEntity* ent );

	void visit( EntityGroup* ent );
	void visit( Entity* ent );

	int getEntitiesVisited() { return m_entitiesVisited; }
	void reset() { m_entitiesVisited = 0; }
};

#endif // RENDERVISITOR_H